/*
 * An XML document type.
 * Localname: library
 * Namespace: http://jugbrescia.dev.java.net/library
 * Java type: net.java.dev.jugbrescia.library.LibraryDocument
 *
 * Automatically generated - do not modify.
 */
package net.java.dev.jugbrescia.library;


/**
 * A document containing one library(@http://jugbrescia.dev.java.net/library) element.
 *
 * This is a complex type.
 */
public interface LibraryDocument extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(LibraryDocument.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sE581FB894E8B42556C91317A1EDC6B70").resolveHandle("library7d8fdoctype");
    
    /**
     * Gets the "library" element
     */
    net.java.dev.jugbrescia.library.LibraryDocument.Library getLibrary();
    
    /**
     * Sets the "library" element
     */
    void setLibrary(net.java.dev.jugbrescia.library.LibraryDocument.Library library);
    
    /**
     * Appends and returns a new empty "library" element
     */
    net.java.dev.jugbrescia.library.LibraryDocument.Library addNewLibrary();
    
    /**
     * An XML library(@http://jugbrescia.dev.java.net/library).
     *
     * This is a complex type.
     */
    public interface Library extends org.apache.xmlbeans.XmlObject
    {
        public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
            org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Library.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sE581FB894E8B42556C91317A1EDC6B70").resolveHandle("library2b48elemtype");
        
        /**
         * Gets the "books" element
         */
        net.java.dev.jugbrescia.library.LibraryDocument.Library.Books getBooks();
        
        /**
         * Sets the "books" element
         */
        void setBooks(net.java.dev.jugbrescia.library.LibraryDocument.Library.Books books);
        
        /**
         * Appends and returns a new empty "books" element
         */
        net.java.dev.jugbrescia.library.LibraryDocument.Library.Books addNewBooks();
        
        /**
         * An XML books(@http://jugbrescia.dev.java.net/library).
         *
         * This is a complex type.
         */
        public interface Books extends org.apache.xmlbeans.XmlObject
        {
            public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
                org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Books.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sE581FB894E8B42556C91317A1EDC6B70").resolveHandle("books4c72elemtype");
            
            /**
             * Gets a List of "book" elements
             */
            java.util.List<net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book> getBookList();
            
            /**
             * Gets array of all "book" elements
             * @deprecated
             */
            net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book[] getBookArray();
            
            /**
             * Gets ith "book" element
             */
            net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book getBookArray(int i);
            
            /**
             * Returns number of "book" element
             */
            int sizeOfBookArray();
            
            /**
             * Sets array of all "book" element
             */
            void setBookArray(net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book[] bookArray);
            
            /**
             * Sets ith "book" element
             */
            void setBookArray(int i, net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book book);
            
            /**
             * Inserts and returns a new empty value (as xml) as the ith "book" element
             */
            net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book insertNewBook(int i);
            
            /**
             * Appends and returns a new empty value (as xml) as the last "book" element
             */
            net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book addNewBook();
            
            /**
             * Removes the ith "book" element
             */
            void removeBook(int i);
            
            /**
             * An XML book(@http://jugbrescia.dev.java.net/library).
             *
             * This is a complex type.
             */
            public interface Book extends org.apache.xmlbeans.XmlObject
            {
                public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
                    org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Book.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sE581FB894E8B42556C91317A1EDC6B70").resolveHandle("bookd2cdelemtype");
                
                /**
                 * Gets the "authors" element
                 */
                net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors getAuthors();
                
                /**
                 * Sets the "authors" element
                 */
                void setAuthors(net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors authors);
                
                /**
                 * Appends and returns a new empty "authors" element
                 */
                net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors addNewAuthors();
                
                /**
                 * Gets the "title" attribute
                 */
                java.lang.String getTitle();
                
                /**
                 * Gets (as xml) the "title" attribute
                 */
                org.apache.xmlbeans.XmlString xgetTitle();
                
                /**
                 * True if has "title" attribute
                 */
                boolean isSetTitle();
                
                /**
                 * Sets the "title" attribute
                 */
                void setTitle(java.lang.String title);
                
                /**
                 * Sets (as xml) the "title" attribute
                 */
                void xsetTitle(org.apache.xmlbeans.XmlString title);
                
                /**
                 * Unsets the "title" attribute
                 */
                void unsetTitle();
                
                /**
                 * An XML authors(@http://jugbrescia.dev.java.net/library).
                 *
                 * This is a complex type.
                 */
                public interface Authors extends org.apache.xmlbeans.XmlObject
                {
                    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
                      org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Authors.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sE581FB894E8B42556C91317A1EDC6B70").resolveHandle("authors8e81elemtype");
                    
                    /**
                     * Gets a List of "author" elements
                     */
                    java.util.List<net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author> getAuthorList();
                    
                    /**
                     * Gets array of all "author" elements
                     * @deprecated
                     */
                    net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author[] getAuthorArray();
                    
                    /**
                     * Gets ith "author" element
                     */
                    net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author getAuthorArray(int i);
                    
                    /**
                     * Returns number of "author" element
                     */
                    int sizeOfAuthorArray();
                    
                    /**
                     * Sets array of all "author" element
                     */
                    void setAuthorArray(net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author[] authorArray);
                    
                    /**
                     * Sets ith "author" element
                     */
                    void setAuthorArray(int i, net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author author);
                    
                    /**
                     * Inserts and returns a new empty value (as xml) as the ith "author" element
                     */
                    net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author insertNewAuthor(int i);
                    
                    /**
                     * Appends and returns a new empty value (as xml) as the last "author" element
                     */
                    net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author addNewAuthor();
                    
                    /**
                     * Removes the ith "author" element
                     */
                    void removeAuthor(int i);
                    
                    /**
                     * An XML author(@http://jugbrescia.dev.java.net/library).
                     *
                     * This is a complex type.
                     */
                    public interface Author extends org.apache.xmlbeans.XmlObject
                    {
                      public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
                        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Author.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sE581FB894E8B42556C91317A1EDC6B70").resolveHandle("author9528elemtype");
                      
                      /**
                       * Gets the "name" attribute
                       */
                      java.lang.String getName();
                      
                      /**
                       * Gets (as xml) the "name" attribute
                       */
                      org.apache.xmlbeans.XmlString xgetName();
                      
                      /**
                       * True if has "name" attribute
                       */
                      boolean isSetName();
                      
                      /**
                       * Sets the "name" attribute
                       */
                      void setName(java.lang.String name);
                      
                      /**
                       * Sets (as xml) the "name" attribute
                       */
                      void xsetName(org.apache.xmlbeans.XmlString name);
                      
                      /**
                       * Unsets the "name" attribute
                       */
                      void unsetName();
                      
                      /**
                       * A factory class with static methods for creating instances
                       * of this type.
                       */
                      
                      public static final class Factory
                      {
                        public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author newInstance() {
                          return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
                        
                        public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author newInstance(org.apache.xmlbeans.XmlOptions options) {
                          return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors.Author) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
                        
                        private Factory() { } // No instance of this class allowed
                      }
                    }
                    
                    /**
                     * A factory class with static methods for creating instances
                     * of this type.
                     */
                    
                    public static final class Factory
                    {
                      public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors newInstance() {
                        return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
                      
                      public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors newInstance(org.apache.xmlbeans.XmlOptions options) {
                        return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book.Authors) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
                      
                      private Factory() { } // No instance of this class allowed
                    }
                }
                
                /**
                 * A factory class with static methods for creating instances
                 * of this type.
                 */
                
                public static final class Factory
                {
                    public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book newInstance() {
                      return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
                    
                    public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book newInstance(org.apache.xmlbeans.XmlOptions options) {
                      return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books.Book) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
                    
                    private Factory() { } // No instance of this class allowed
                }
            }
            
            /**
             * A factory class with static methods for creating instances
             * of this type.
             */
            
            public static final class Factory
            {
                public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books newInstance() {
                  return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
                
                public static net.java.dev.jugbrescia.library.LibraryDocument.Library.Books newInstance(org.apache.xmlbeans.XmlOptions options) {
                  return (net.java.dev.jugbrescia.library.LibraryDocument.Library.Books) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
                
                private Factory() { } // No instance of this class allowed
            }
        }
        
        /**
         * A factory class with static methods for creating instances
         * of this type.
         */
        
        public static final class Factory
        {
            public static net.java.dev.jugbrescia.library.LibraryDocument.Library newInstance() {
              return (net.java.dev.jugbrescia.library.LibraryDocument.Library) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
            
            public static net.java.dev.jugbrescia.library.LibraryDocument.Library newInstance(org.apache.xmlbeans.XmlOptions options) {
              return (net.java.dev.jugbrescia.library.LibraryDocument.Library) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
            
            private Factory() { } // No instance of this class allowed
        }
    }
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static net.java.dev.jugbrescia.library.LibraryDocument newInstance() {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        /** @param xmlAsString the string value to parse */
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
        
        /** @param file the file from which to load an xml document */
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        /** @deprecated {@link XMLInputStream} */
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        /** @deprecated {@link XMLInputStream} */
        public static net.java.dev.jugbrescia.library.LibraryDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.java.dev.jugbrescia.library.LibraryDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        /** @deprecated {@link XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        /** @deprecated {@link XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
